package top.goldenyear.porpoise.framework.common.vaidataion;

import top.goldenyear.porpoise.framework.common.model.IntArrayValuable;

import java.lang.annotation.*;

@Target({
  ElementType.METHOD,
  ElementType.FIELD,
  ElementType.ANNOTATION_TYPE,
  ElementType.CONSTRUCTOR,
  ElementType.PARAMETER,
  ElementType.TYPE_USE
})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface InEnum {

  /**
   * @return 实现 EnumValuable 接口的
   */
  Class<? extends IntArrayValuable> value();

  String message() default "必须在指定范围 {value}";

  Class<?>[] groups() default {};

  Class<? extends Object>[] payload() default {};
}
